package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 用户答题情况对象 buz_task_user
 * 
 * @author ruoyi
 * @date 2023-08-31
 */
@Data
public class BuzTaskUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 活动ID */
    @Excel(name = "活动ID")
    private String taskId;

    /** 开始考试时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始考试时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 考试结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 参加活动人ID */
    @Excel(name = "参加活动人ID")
    private String memberId;

    /** 考试总得分 */
    @Excel(name = "考试总得分")
    private Integer totalPoint;

    /** 是否有资格抽奖(0:没资格;1:有资格) */
    @Excel(name = "是否有资格抽奖(0:没资格;1:有资格)")
    private Integer canAwardsFlag;

    /** 抽中奖项等级 */
    @Excel(name = "抽中奖项等级")
    private String awardsLevel;
    
    /**中奖名称*/
    @Transient
    private String awardName;


    /** 抽奖时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "抽奖时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date awardsTime;
    
    /** 抽奖时间 */

    @Excel(name = "领奖截止时间", width = 30)
    private Date awardsTimeEnd;

    /** 领奖短信验证码 */
    @Excel(name = "领奖短信验证码")
    private String receiveAwardsSms;

    /** 领奖手机号 */
    @Excel(name = "领奖手机号")
    private String receiveAwardsPhone;

    /** 领奖时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "领奖时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveAwardsTime;
    
    /** 发送领奖短信时间 */
    private Date receiveAwardsSmsTime;

    @Excel(name = "抽中奖项随机金额")
    private Double awardsMoney;

    @Excel(name = "红包地址")
    private String awardsUrl;

    @Transient
    private Integer todayRemainTimes;
    @Transient
    private Integer remainTimes;
    
    private String longitude;
    private String latitude;
    
    //摇摇啦返回领红包信息
    private String receiveAwardsStatus;
    
    
    
    
    
    /** 领奖短信验证码 */
    @Excel(name = "抽奖短信验证码")
    private String gainAwardsSms;
    
    /** 发送抽奖短信时间 */
    private Date gainAwardsSmsTime;
    
    @Excel(name = "抽奖截止时间", width = 30)
    private Date gainTimeEnd;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskId", getTaskId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("memberId", getMemberId())
            .append("totalPoint", getTotalPoint())
            .append("canAwardsFlag", getCanAwardsFlag())
            .append("awardsLevel", getAwardsLevel())
            .append("awardsTime", getAwardsTime())
            .append("receiveAwardsSms", getReceiveAwardsSms())
            .append("receiveAwardsPhone", getReceiveAwardsPhone())
            .append("receiveAwardsTime", getReceiveAwardsTime())
            .append("awardsMoney", getAwardsMoney())
            .toString();
    }
}
